#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//int main()
//{
//	int n = 0;
//	int time = 0;
//	int ret = 0;
//	scanf("%d", &n);
//	time = n / 12;
//	ret = n % 12;
//	if (n == 0)
//	{
//		time = 0;
//	}
//	else
//	{
//		if (ret == 0)
//		{
//			time = time + 1;;
//		}
//	}
//	printf("%d", time * 4 + 2);
//	return 0;
//}

//int main()
//{
//	int a, b, c, d = 0;
//	scanf("%d %d %d %d", &a, &b, &c, &d);
//	int x,y = 0;
//	x = a > b ? a : b;
//	y = c > d ? c : d;
//	printf("%d", x > y ? x : y);
//	return 0;
//}
//int main()
//{
//	int score = 0;
//	scanf("%d",&score);
//	int grade = 0;
//	if (score <= 100 && score >= 90)
//	{
//		grade = 1;
//	}
//	if (score <= 89 && score > 80)
//	{
//		grade = 2;
//	}
//	if (score <= 79 && score > 70)
//	{
//		grade = 3;
//	}
//	if (score <= 69 && score > 60)
//	{
//		grade = 4;
//	}
//	if (score <= 59&&score>=0)
//	{
//		grade = 5;
//	}
//	switch (grade)
//	{
//	case 1:
//		printf("%c", 'A');
//		break;
//	case 2:
//		printf("%c", 'B');
//		break;
//	case 3:
//		printf("%c", 'C');
//		break;
//	case 4:
//		printf("%c", 'D');
//		break;
//	case 5:
//		printf("%c", 'E');
//		break;
//	default:
//		printf("%c", 'F');
//	}
//	return 0;
// }

//int main()
//{
//	int arr[] = { 73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116 , 33 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		printf("%c", arr[i]);
//	}
//	return 0;
//}

//int main()
//{
//	int arr[10] = { 0 };
//	int positive = 0;
//	int negative = 0;
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		scanf("%d", &arr[i]);
//		if (arr[i] > 0)
//		{
//			positive++;
//		}
//		else
//		{
//			negative++;
//		}
//	}
//	printf("positive:%d\n", positive);
//	printf("negative:%d\n", negative);
//}

int main()
{
	int i = 0;
	int n,m = 0;
	int max = 0;
	int min = 100;
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		scanf("%d", &m);
		if (m > max)
		{
			max = m;
		}
		if (m < min)
		{
			min = m;
		}
	}
	printf("%d", max - min);
	return 0;
}